app(app(le, 0), y) → true
app(app(le, app(s, x)), 0) → false
app(app(le, app(s, x)), app(s, y)) → app(app(le, x), y)
app(app(eq, 0), 0) → true
app(app(eq, 0), app(s, y)) → false
app(app(eq, app(s, x)), 0) → false
app(app(eq, app(s, x)), app(s, y)) → app(app(eq, x), y)
app(app(app(if, true), x), y) → x
app(app(app(if, false), x), y) → y
app(minsort, nil) → nil
app(minsort, app(app(cons, x), y)) → app(app(cons, app(app(min, x), y)), app(minsort, app(app(del, app(app(min, x), y)), app(app(cons, x), y))))
app(app(min, x), nil) → x
app(app(min, x), app(app(cons, y), z)) → app(app(app(if, app(app(le, x), y)), app(app(min, x), z)), app(app(min, y), z))
app(app(del, x), nil) → nil
app(app(del, x), app(app(cons, y), z)) → app(app(app(if, app(app(eq, x), y)), z), app(app(cons, y), app(app(del, x), z)))
app(app(map, f), nil) → nil
app(app(map, f), app(app(cons, x), xs)) → app(app(cons, app(f, x)), app(app(map, f), xs))
app(app(filter, f), nil) → nil
app(app(filter, f), app(app(cons, x), xs)) → app(app(app(app(filter2, app(f, x)), f), x), xs)
app(app(app(app(filter2, true), f), x), xs) → app(app(cons, x), app(app(filter, f), xs))
app(app(app(app(filter2, false), f), x), xs) → app(app(filter, f), xs)
↳ QTRS
↳ Overlay + Local Confluence
app(app(le, 0), y) → true
app(app(le, app(s, x)), 0) → false
app(app(le, app(s, x)), app(s, y)) → app(app(le, x), y)
app(app(eq, 0), 0) → true
app(app(eq, 0), app(s, y)) → false
app(app(eq, app(s, x)), 0) → false
app(app(eq, app(s, x)), app(s, y)) → app(app(eq, x), y)
app(app(app(if, true), x), y) → x
app(app(app(if, false), x), y) → y
app(minsort, nil) → nil
app(minsort, app(app(cons, x), y)) → app(app(cons, app(app(min, x), y)), app(minsort, app(app(del, app(app(min, x), y)), app(app(cons, x), y))))
app(app(min, x), nil) → x
app(app(min, x), app(app(cons, y), z)) → app(app(app(if, app(app(le, x), y)), app(app(min, x), z)), app(app(min, y), z))
app(app(del, x), nil) → nil
app(app(del, x), app(app(cons, y), z)) → app(app(app(if, app(app(eq, x), y)), z), app(app(cons, y), app(app(del, x), z)))
app(app(map, f), nil) → nil
app(app(map, f), app(app(cons, x), xs)) → app(app(cons, app(f, x)), app(app(map, f), xs))
app(app(filter, f), nil) → nil
app(app(filter, f), app(app(cons, x), xs)) → app(app(app(app(filter2, app(f, x)), f), x), xs)
app(app(app(app(filter2, true), f), x), xs) → app(app(cons, x), app(app(filter, f), xs))
app(app(app(app(filter2, false), f), x), xs) → app(app(filter, f), xs)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
app(app(le, 0), y) → true
app(app(le, app(s, x)), 0) → false
app(app(le, app(s, x)), app(s, y)) → app(app(le, x), y)
app(app(eq, 0), 0) → true
app(app(eq, 0), app(s, y)) → false
app(app(eq, app(s, x)), 0) → false
app(app(eq, app(s, x)), app(s, y)) → app(app(eq, x), y)
app(app(app(if, true), x), y) → x
app(app(app(if, false), x), y) → y
app(minsort, nil) → nil
app(minsort, app(app(cons, x), y)) → app(app(cons, app(app(min, x), y)), app(minsort, app(app(del, app(app(min, x), y)), app(app(cons, x), y))))
app(app(min, x), nil) → x
app(app(min, x), app(app(cons, y), z)) → app(app(app(if, app(app(le, x), y)), app(app(min, x), z)), app(app(min, y), z))
app(app(del, x), nil) → nil
app(app(del, x), app(app(cons, y), z)) → app(app(app(if, app(app(eq, x), y)), z), app(app(cons, y), app(app(del, x), z)))
app(app(map, f), nil) → nil
app(app(map, f), app(app(cons, x), xs)) → app(app(cons, app(f, x)), app(app(map, f), xs))
app(app(filter, f), nil) → nil
app(app(filter, f), app(app(cons, x), xs)) → app(app(app(app(filter2, app(f, x)), f), x), xs)
app(app(app(app(filter2, true), f), x), xs) → app(app(cons, x), app(app(filter, f), xs))
app(app(app(app(filter2, false), f), x), xs) → app(app(filter, f), xs)
app(app(le, 0), x0)
app(app(le, app(s, x0)), 0)
app(app(le, app(s, x0)), app(s, x1))
app(app(eq, 0), 0)
app(app(eq, 0), app(s, x0))
app(app(eq, app(s, x0)), 0)
app(app(eq, app(s, x0)), app(s, x1))
app(app(app(if, true), x0), x1)
app(app(app(if, false), x0), x1)
app(minsort, nil)
app(minsort, app(app(cons, x0), x1))
app(app(min, x0), nil)
app(app(min, x0), app(app(cons, x1), x2))
app(app(del, x0), nil)
app(app(del, x0), app(app(cons, x1), x2))
app(app(map, x0), nil)
app(app(map, x0), app(app(cons, x1), x2))
app(app(filter, x0), nil)
app(app(filter, x0), app(app(cons, x1), x2))
app(app(app(app(filter2, true), x0), x1), x2)
app(app(app(app(filter2, false), x0), x1), x2)
APP(app(map, f), app(app(cons, x), xs)) → APP(app(cons, app(f, x)), app(app(map, f), xs))
APP(app(del, x), app(app(cons, y), z)) → APP(eq, x)
APP(minsort, app(app(cons, x), y)) → APP(minsort, app(app(del, app(app(min, x), y)), app(app(cons, x), y)))
APP(app(filter, f), app(app(cons, x), xs)) → APP(app(app(filter2, app(f, x)), f), x)
APP(app(min, x), app(app(cons, y), z)) → APP(app(le, x), y)
APP(app(filter, f), app(app(cons, x), xs)) → APP(app(app(app(filter2, app(f, x)), f), x), xs)
APP(minsort, app(app(cons, x), y)) → APP(cons, app(app(min, x), y))
APP(app(le, app(s, x)), app(s, y)) → APP(le, x)
APP(app(min, x), app(app(cons, y), z)) → APP(if, app(app(le, x), y))
APP(app(app(app(filter2, true), f), x), xs) → APP(app(cons, x), app(app(filter, f), xs))
APP(app(del, x), app(app(cons, y), z)) → APP(app(del, x), z)
APP(app(del, x), app(app(cons, y), z)) → APP(app(app(if, app(app(eq, x), y)), z), app(app(cons, y), app(app(del, x), z)))
APP(app(min, x), app(app(cons, y), z)) → APP(app(min, y), z)
APP(app(filter, f), app(app(cons, x), xs)) → APP(filter2, app(f, x))
APP(app(map, f), app(app(cons, x), xs)) → APP(f, x)
APP(app(del, x), app(app(cons, y), z)) → APP(app(eq, x), y)
APP(app(app(app(filter2, true), f), x), xs) → APP(app(filter, f), xs)
APP(app(min, x), app(app(cons, y), z)) → APP(app(app(if, app(app(le, x), y)), app(app(min, x), z)), app(app(min, y), z))
APP(minsort, app(app(cons, x), y)) → APP(app(del, app(app(min, x), y)), app(app(cons, x), y))
APP(app(del, x), app(app(cons, y), z)) → APP(app(if, app(app(eq, x), y)), z)
APP(app(filter, f), app(app(cons, x), xs)) → APP(app(filter2, app(f, x)), f)
APP(app(min, x), app(app(cons, y), z)) → APP(app(min, x), z)
APP(app(app(app(filter2, false), f), x), xs) → APP(filter, f)
APP(app(le, app(s, x)), app(s, y)) → APP(app(le, x), y)
APP(app(del, x), app(app(cons, y), z)) → APP(app(cons, y), app(app(del, x), z))
APP(app(eq, app(s, x)), app(s, y)) → APP(eq, x)
APP(app(filter, f), app(app(cons, x), xs)) → APP(f, x)
APP(app(map, f), app(app(cons, x), xs)) → APP(app(map, f), xs)
APP(minsort, app(app(cons, x), y)) → APP(min, x)
APP(minsort, app(app(cons, x), y)) → APP(app(min, x), y)
APP(app(eq, app(s, x)), app(s, y)) → APP(app(eq, x), y)
APP(app(app(app(filter2, true), f), x), xs) → APP(filter, f)
APP(minsort, app(app(cons, x), y)) → APP(del, app(app(min, x), y))
APP(app(min, x), app(app(cons, y), z)) → APP(le, x)
APP(app(del, x), app(app(cons, y), z)) → APP(if, app(app(eq, x), y))
APP(app(min, x), app(app(cons, y), z)) → APP(app(if, app(app(le, x), y)), app(app(min, x), z))
APP(app(app(app(filter2, true), f), x), xs) → APP(cons, x)
APP(app(app(app(filter2, false), f), x), xs) → APP(app(filter, f), xs)
APP(minsort, app(app(cons, x), y)) → APP(app(cons, app(app(min, x), y)), app(minsort, app(app(del, app(app(min, x), y)), app(app(cons, x), y))))
APP(app(map, f), app(app(cons, x), xs)) → APP(cons, app(f, x))
APP(app(min, x), app(app(cons, y), z)) → APP(min, y)
app(app(le, 0), y) → true
app(app(le, app(s, x)), 0) → false
app(app(le, app(s, x)), app(s, y)) → app(app(le, x), y)
app(app(eq, 0), 0) → true
app(app(eq, 0), app(s, y)) → false
app(app(eq, app(s, x)), 0) → false
app(app(eq, app(s, x)), app(s, y)) → app(app(eq, x), y)
app(app(app(if, true), x), y) → x
app(app(app(if, false), x), y) → y
app(minsort, nil) → nil
app(minsort, app(app(cons, x), y)) → app(app(cons, app(app(min, x), y)), app(minsort, app(app(del, app(app(min, x), y)), app(app(cons, x), y))))
app(app(min, x), nil) → x
app(app(min, x), app(app(cons, y), z)) → app(app(app(if, app(app(le, x), y)), app(app(min, x), z)), app(app(min, y), z))
app(app(del, x), nil) → nil
app(app(del, x), app(app(cons, y), z)) → app(app(app(if, app(app(eq, x), y)), z), app(app(cons, y), app(app(del, x), z)))
app(app(map, f), nil) → nil
app(app(map, f), app(app(cons, x), xs)) → app(app(cons, app(f, x)), app(app(map, f), xs))
app(app(filter, f), nil) → nil
app(app(filter, f), app(app(cons, x), xs)) → app(app(app(app(filter2, app(f, x)), f), x), xs)
app(app(app(app(filter2, true), f), x), xs) → app(app(cons, x), app(app(filter, f), xs))
app(app(app(app(filter2, false), f), x), xs) → app(app(filter, f), xs)
app(app(le, 0), x0)
app(app(le, app(s, x0)), 0)
app(app(le, app(s, x0)), app(s, x1))
app(app(eq, 0), 0)
app(app(eq, 0), app(s, x0))
app(app(eq, app(s, x0)), 0)
app(app(eq, app(s, x0)), app(s, x1))
app(app(app(if, true), x0), x1)
app(app(app(if, false), x0), x1)
app(minsort, nil)
app(minsort, app(app(cons, x0), x1))
app(app(min, x0), nil)
app(app(min, x0), app(app(cons, x1), x2))
app(app(del, x0), nil)
app(app(del, x0), app(app(cons, x1), x2))
app(app(map, x0), nil)
app(app(map, x0), app(app(cons, x1), x2))
app(app(filter, x0), nil)
app(app(filter, x0), app(app(cons, x1), x2))
app(app(app(app(filter2, true), x0), x1), x2)
app(app(app(app(filter2, false), x0), x1), x2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
APP(app(map, f), app(app(cons, x), xs)) → APP(app(cons, app(f, x)), app(app(map, f), xs))
APP(app(del, x), app(app(cons, y), z)) → APP(eq, x)
APP(minsort, app(app(cons, x), y)) → APP(minsort, app(app(del, app(app(min, x), y)), app(app(cons, x), y)))
APP(app(filter, f), app(app(cons, x), xs)) → APP(app(app(filter2, app(f, x)), f), x)
APP(app(min, x), app(app(cons, y), z)) → APP(app(le, x), y)
APP(app(filter, f), app(app(cons, x), xs)) → APP(app(app(app(filter2, app(f, x)), f), x), xs)
APP(minsort, app(app(cons, x), y)) → APP(cons, app(app(min, x), y))
APP(app(le, app(s, x)), app(s, y)) → APP(le, x)
APP(app(min, x), app(app(cons, y), z)) → APP(if, app(app(le, x), y))
APP(app(app(app(filter2, true), f), x), xs) → APP(app(cons, x), app(app(filter, f), xs))
APP(app(del, x), app(app(cons, y), z)) → APP(app(del, x), z)
APP(app(del, x), app(app(cons, y), z)) → APP(app(app(if, app(app(eq, x), y)), z), app(app(cons, y), app(app(del, x), z)))
APP(app(min, x), app(app(cons, y), z)) → APP(app(min, y), z)
APP(app(filter, f), app(app(cons, x), xs)) → APP(filter2, app(f, x))
APP(app(map, f), app(app(cons, x), xs)) → APP(f, x)
APP(app(del, x), app(app(cons, y), z)) → APP(app(eq, x), y)
APP(app(app(app(filter2, true), f), x), xs) → APP(app(filter, f), xs)
APP(app(min, x), app(app(cons, y), z)) → APP(app(app(if, app(app(le, x), y)), app(app(min, x), z)), app(app(min, y), z))
APP(minsort, app(app(cons, x), y)) → APP(app(del, app(app(min, x), y)), app(app(cons, x), y))
APP(app(del, x), app(app(cons, y), z)) → APP(app(if, app(app(eq, x), y)), z)
APP(app(filter, f), app(app(cons, x), xs)) → APP(app(filter2, app(f, x)), f)
APP(app(min, x), app(app(cons, y), z)) → APP(app(min, x), z)
APP(app(app(app(filter2, false), f), x), xs) → APP(filter, f)
APP(app(le, app(s, x)), app(s, y)) → APP(app(le, x), y)
APP(app(del, x), app(app(cons, y), z)) → APP(app(cons, y), app(app(del, x), z))
APP(app(eq, app(s, x)), app(s, y)) → APP(eq, x)
APP(app(filter, f), app(app(cons, x), xs)) → APP(f, x)
APP(app(map, f), app(app(cons, x), xs)) → APP(app(map, f), xs)
APP(minsort, app(app(cons, x), y)) → APP(min, x)
APP(minsort, app(app(cons, x), y)) → APP(app(min, x), y)
APP(app(eq, app(s, x)), app(s, y)) → APP(app(eq, x), y)
APP(app(app(app(filter2, true), f), x), xs) → APP(filter, f)
APP(minsort, app(app(cons, x), y)) → APP(del, app(app(min, x), y))
APP(app(min, x), app(app(cons, y), z)) → APP(le, x)
APP(app(del, x), app(app(cons, y), z)) → APP(if, app(app(eq, x), y))
APP(app(min, x), app(app(cons, y), z)) → APP(app(if, app(app(le, x), y)), app(app(min, x), z))
APP(app(app(app(filter2, true), f), x), xs) → APP(cons, x)
APP(app(app(app(filter2, false), f), x), xs) → APP(app(filter, f), xs)
APP(minsort, app(app(cons, x), y)) → APP(app(cons, app(app(min, x), y)), app(minsort, app(app(del, app(app(min, x), y)), app(app(cons, x), y))))
APP(app(map, f), app(app(cons, x), xs)) → APP(cons, app(f, x))
APP(app(min, x), app(app(cons, y), z)) → APP(min, y)
app(app(le, 0), y) → true
app(app(le, app(s, x)), 0) → false
app(app(le, app(s, x)), app(s, y)) → app(app(le, x), y)
app(app(eq, 0), 0) → true
app(app(eq, 0), app(s, y)) → false
app(app(eq, app(s, x)), 0) → false
app(app(eq, app(s, x)), app(s, y)) → app(app(eq, x), y)
app(app(app(if, true), x), y) → x
app(app(app(if, false), x), y) → y
app(minsort, nil) → nil
app(minsort, app(app(cons, x), y)) → app(app(cons, app(app(min, x), y)), app(minsort, app(app(del, app(app(min, x), y)), app(app(cons, x), y))))
app(app(min, x), nil) → x
app(app(min, x), app(app(cons, y), z)) → app(app(app(if, app(app(le, x), y)), app(app(min, x), z)), app(app(min, y), z))
app(app(del, x), nil) → nil
app(app(del, x), app(app(cons, y), z)) → app(app(app(if, app(app(eq, x), y)), z), app(app(cons, y), app(app(del, x), z)))
app(app(map, f), nil) → nil
app(app(map, f), app(app(cons, x), xs)) → app(app(cons, app(f, x)), app(app(map, f), xs))
app(app(filter, f), nil) → nil
app(app(filter, f), app(app(cons, x), xs)) → app(app(app(app(filter2, app(f, x)), f), x), xs)
app(app(app(app(filter2, true), f), x), xs) → app(app(cons, x), app(app(filter, f), xs))
app(app(app(app(filter2, false), f), x), xs) → app(app(filter, f), xs)
app(app(le, 0), x0)
app(app(le, app(s, x0)), 0)
app(app(le, app(s, x0)), app(s, x1))
app(app(eq, 0), 0)
app(app(eq, 0), app(s, x0))
app(app(eq, app(s, x0)), 0)
app(app(eq, app(s, x0)), app(s, x1))
app(app(app(if, true), x0), x1)
app(app(app(if, false), x0), x1)
app(minsort, nil)
app(minsort, app(app(cons, x0), x1))
app(app(min, x0), nil)
app(app(min, x0), app(app(cons, x1), x2))
app(app(del, x0), nil)
app(app(del, x0), app(app(cons, x1), x2))
app(app(map, x0), nil)
app(app(map, x0), app(app(cons, x1), x2))
app(app(filter, x0), nil)
app(app(filter, x0), app(app(cons, x1), x2))
app(app(app(app(filter2, true), x0), x1), x2)
app(app(app(app(filter2, false), x0), x1), x2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
APP(app(del, x), app(app(cons, y), z)) → APP(eq, x)
APP(app(map, f), app(app(cons, x), xs)) → APP(app(cons, app(f, x)), app(app(map, f), xs))
APP(minsort, app(app(cons, x), y)) → APP(minsort, app(app(del, app(app(min, x), y)), app(app(cons, x), y)))
APP(app(filter, f), app(app(cons, x), xs)) → APP(app(app(filter2, app(f, x)), f), x)
APP(app(min, x), app(app(cons, y), z)) → APP(app(le, x), y)
APP(app(filter, f), app(app(cons, x), xs)) → APP(app(app(app(filter2, app(f, x)), f), x), xs)
APP(app(min, x), app(app(cons, y), z)) → APP(if, app(app(le, x), y))
APP(app(le, app(s, x)), app(s, y)) → APP(le, x)
APP(minsort, app(app(cons, x), y)) → APP(cons, app(app(min, x), y))
APP(app(app(app(filter2, true), f), x), xs) → APP(app(cons, x), app(app(filter, f), xs))
APP(app(del, x), app(app(cons, y), z)) → APP(app(del, x), z)
APP(app(del, x), app(app(cons, y), z)) → APP(app(app(if, app(app(eq, x), y)), z), app(app(cons, y), app(app(del, x), z)))
APP(app(min, x), app(app(cons, y), z)) → APP(app(min, y), z)
APP(app(map, f), app(app(cons, x), xs)) → APP(f, x)
APP(app(filter, f), app(app(cons, x), xs)) → APP(filter2, app(f, x))
APP(app(del, x), app(app(cons, y), z)) → APP(app(eq, x), y)
APP(minsort, app(app(cons, x), y)) → APP(app(del, app(app(min, x), y)), app(app(cons, x), y))
APP(app(min, x), app(app(cons, y), z)) → APP(app(app(if, app(app(le, x), y)), app(app(min, x), z)), app(app(min, y), z))
APP(app(app(app(filter2, true), f), x), xs) → APP(app(filter, f), xs)
APP(app(del, x), app(app(cons, y), z)) → APP(app(if, app(app(eq, x), y)), z)
APP(app(filter, f), app(app(cons, x), xs)) → APP(app(filter2, app(f, x)), f)
APP(app(min, x), app(app(cons, y), z)) → APP(app(min, x), z)
APP(app(app(app(filter2, false), f), x), xs) → APP(filter, f)
APP(app(le, app(s, x)), app(s, y)) → APP(app(le, x), y)
APP(app(del, x), app(app(cons, y), z)) → APP(app(cons, y), app(app(del, x), z))
APP(app(eq, app(s, x)), app(s, y)) → APP(eq, x)
APP(app(map, f), app(app(cons, x), xs)) → APP(app(map, f), xs)
APP(app(filter, f), app(app(cons, x), xs)) → APP(f, x)
APP(minsort, app(app(cons, x), y)) → APP(min, x)
APP(app(eq, app(s, x)), app(s, y)) → APP(app(eq, x), y)
APP(minsort, app(app(cons, x), y)) → APP(app(min, x), y)
APP(minsort, app(app(cons, x), y)) → APP(del, app(app(min, x), y))
APP(app(app(app(filter2, true), f), x), xs) → APP(filter, f)
APP(app(min, x), app(app(cons, y), z)) → APP(le, x)
APP(app(del, x), app(app(cons, y), z)) → APP(if, app(app(eq, x), y))
APP(app(min, x), app(app(cons, y), z)) → APP(app(if, app(app(le, x), y)), app(app(min, x), z))
APP(app(app(app(filter2, true), f), x), xs) → APP(cons, x)
APP(minsort, app(app(cons, x), y)) → APP(app(cons, app(app(min, x), y)), app(minsort, app(app(del, app(app(min, x), y)), app(app(cons, x), y))))
APP(app(app(app(filter2, false), f), x), xs) → APP(app(filter, f), xs)
APP(app(map, f), app(app(cons, x), xs)) → APP(cons, app(f, x))
APP(app(min, x), app(app(cons, y), z)) → APP(min, y)
app(app(le, 0), y) → true
app(app(le, app(s, x)), 0) → false
app(app(le, app(s, x)), app(s, y)) → app(app(le, x), y)
app(app(eq, 0), 0) → true
app(app(eq, 0), app(s, y)) → false
app(app(eq, app(s, x)), 0) → false
app(app(eq, app(s, x)), app(s, y)) → app(app(eq, x), y)
app(app(app(if, true), x), y) → x
app(app(app(if, false), x), y) → y
app(minsort, nil) → nil
app(minsort, app(app(cons, x), y)) → app(app(cons, app(app(min, x), y)), app(minsort, app(app(del, app(app(min, x), y)), app(app(cons, x), y))))
app(app(min, x), nil) → x
app(app(min, x), app(app(cons, y), z)) → app(app(app(if, app(app(le, x), y)), app(app(min, x), z)), app(app(min, y), z))
app(app(del, x), nil) → nil
app(app(del, x), app(app(cons, y), z)) → app(app(app(if, app(app(eq, x), y)), z), app(app(cons, y), app(app(del, x), z)))
app(app(map, f), nil) → nil
app(app(map, f), app(app(cons, x), xs)) → app(app(cons, app(f, x)), app(app(map, f), xs))
app(app(filter, f), nil) → nil
app(app(filter, f), app(app(cons, x), xs)) → app(app(app(app(filter2, app(f, x)), f), x), xs)
app(app(app(app(filter2, true), f), x), xs) → app(app(cons, x), app(app(filter, f), xs))
app(app(app(app(filter2, false), f), x), xs) → app(app(filter, f), xs)
app(app(le, 0), x0)
app(app(le, app(s, x0)), 0)
app(app(le, app(s, x0)), app(s, x1))
app(app(eq, 0), 0)
app(app(eq, 0), app(s, x0))
app(app(eq, app(s, x0)), 0)
app(app(eq, app(s, x0)), app(s, x1))
app(app(app(if, true), x0), x1)
app(app(app(if, false), x0), x1)
app(minsort, nil)
app(minsort, app(app(cons, x0), x1))
app(app(min, x0), nil)
app(app(min, x0), app(app(cons, x1), x2))
app(app(del, x0), nil)
app(app(del, x0), app(app(cons, x1), x2))
app(app(map, x0), nil)
app(app(map, x0), app(app(cons, x1), x2))
app(app(filter, x0), nil)
app(app(filter, x0), app(app(cons, x1), x2))
app(app(app(app(filter2, true), x0), x1), x2)
app(app(app(app(filter2, false), x0), x1), x2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
APP(app(eq, app(s, x)), app(s, y)) → APP(app(eq, x), y)
app(app(le, 0), y) → true
app(app(le, app(s, x)), 0) → false
app(app(le, app(s, x)), app(s, y)) → app(app(le, x), y)
app(app(eq, 0), 0) → true
app(app(eq, 0), app(s, y)) → false
app(app(eq, app(s, x)), 0) → false
app(app(eq, app(s, x)), app(s, y)) → app(app(eq, x), y)
app(app(app(if, true), x), y) → x
app(app(app(if, false), x), y) → y
app(minsort, nil) → nil
app(minsort, app(app(cons, x), y)) → app(app(cons, app(app(min, x), y)), app(minsort, app(app(del, app(app(min, x), y)), app(app(cons, x), y))))
app(app(min, x), nil) → x
app(app(min, x), app(app(cons, y), z)) → app(app(app(if, app(app(le, x), y)), app(app(min, x), z)), app(app(min, y), z))
app(app(del, x), nil) → nil
app(app(del, x), app(app(cons, y), z)) → app(app(app(if, app(app(eq, x), y)), z), app(app(cons, y), app(app(del, x), z)))
app(app(map, f), nil) → nil
app(app(map, f), app(app(cons, x), xs)) → app(app(cons, app(f, x)), app(app(map, f), xs))
app(app(filter, f), nil) → nil
app(app(filter, f), app(app(cons, x), xs)) → app(app(app(app(filter2, app(f, x)), f), x), xs)
app(app(app(app(filter2, true), f), x), xs) → app(app(cons, x), app(app(filter, f), xs))
app(app(app(app(filter2, false), f), x), xs) → app(app(filter, f), xs)
app(app(le, 0), x0)
app(app(le, app(s, x0)), 0)
app(app(le, app(s, x0)), app(s, x1))
app(app(eq, 0), 0)
app(app(eq, 0), app(s, x0))
app(app(eq, app(s, x0)), 0)
app(app(eq, app(s, x0)), app(s, x1))
app(app(app(if, true), x0), x1)
app(app(app(if, false), x0), x1)
app(minsort, nil)
app(minsort, app(app(cons, x0), x1))
app(app(min, x0), nil)
app(app(min, x0), app(app(cons, x1), x2))
app(app(del, x0), nil)
app(app(del, x0), app(app(cons, x1), x2))
app(app(map, x0), nil)
app(app(map, x0), app(app(cons, x1), x2))
app(app(filter, x0), nil)
app(app(filter, x0), app(app(cons, x1), x2))
app(app(app(app(filter2, true), x0), x1), x2)
app(app(app(app(filter2, false), x0), x1), x2)
EQ(s(x), s(y)) → EQ(x, y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minsort(nil)
minsort(cons(x0, x1))
min(x0, nil)
min(x0, cons(x1, x2))
del(x0, nil)
del(x0, cons(x1, x2))
map(x0, nil)
map(x0, cons(x1, x2))
filter(x0, nil)
filter(x0, cons(x1, x2))
filter2(true, x0, x1, x2)
filter2(false, x0, x1, x2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
APP(app(eq, app(s, x)), app(s, y)) → APP(app(eq, x), y)
[EQ1, s1]
EQ1: multiset
s1: multiset
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
app(app(le, 0), y) → true
app(app(le, app(s, x)), 0) → false
app(app(le, app(s, x)), app(s, y)) → app(app(le, x), y)
app(app(eq, 0), 0) → true
app(app(eq, 0), app(s, y)) → false
app(app(eq, app(s, x)), 0) → false
app(app(eq, app(s, x)), app(s, y)) → app(app(eq, x), y)
app(app(app(if, true), x), y) → x
app(app(app(if, false), x), y) → y
app(minsort, nil) → nil
app(minsort, app(app(cons, x), y)) → app(app(cons, app(app(min, x), y)), app(minsort, app(app(del, app(app(min, x), y)), app(app(cons, x), y))))
app(app(min, x), nil) → x
app(app(min, x), app(app(cons, y), z)) → app(app(app(if, app(app(le, x), y)), app(app(min, x), z)), app(app(min, y), z))
app(app(del, x), nil) → nil
app(app(del, x), app(app(cons, y), z)) → app(app(app(if, app(app(eq, x), y)), z), app(app(cons, y), app(app(del, x), z)))
app(app(map, f), nil) → nil
app(app(map, f), app(app(cons, x), xs)) → app(app(cons, app(f, x)), app(app(map, f), xs))
app(app(filter, f), nil) → nil
app(app(filter, f), app(app(cons, x), xs)) → app(app(app(app(filter2, app(f, x)), f), x), xs)
app(app(app(app(filter2, true), f), x), xs) → app(app(cons, x), app(app(filter, f), xs))
app(app(app(app(filter2, false), f), x), xs) → app(app(filter, f), xs)
app(app(le, 0), x0)
app(app(le, app(s, x0)), 0)
app(app(le, app(s, x0)), app(s, x1))
app(app(eq, 0), 0)
app(app(eq, 0), app(s, x0))
app(app(eq, app(s, x0)), 0)
app(app(eq, app(s, x0)), app(s, x1))
app(app(app(if, true), x0), x1)
app(app(app(if, false), x0), x1)
app(minsort, nil)
app(minsort, app(app(cons, x0), x1))
app(app(min, x0), nil)
app(app(min, x0), app(app(cons, x1), x2))
app(app(del, x0), nil)
app(app(del, x0), app(app(cons, x1), x2))
app(app(map, x0), nil)
app(app(map, x0), app(app(cons, x1), x2))
app(app(filter, x0), nil)
app(app(filter, x0), app(app(cons, x1), x2))
app(app(app(app(filter2, true), x0), x1), x2)
app(app(app(app(filter2, false), x0), x1), x2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
APP(app(del, x), app(app(cons, y), z)) → APP(app(del, x), z)
app(app(le, 0), y) → true
app(app(le, app(s, x)), 0) → false
app(app(le, app(s, x)), app(s, y)) → app(app(le, x), y)
app(app(eq, 0), 0) → true
app(app(eq, 0), app(s, y)) → false
app(app(eq, app(s, x)), 0) → false
app(app(eq, app(s, x)), app(s, y)) → app(app(eq, x), y)
app(app(app(if, true), x), y) → x
app(app(app(if, false), x), y) → y
app(minsort, nil) → nil
app(minsort, app(app(cons, x), y)) → app(app(cons, app(app(min, x), y)), app(minsort, app(app(del, app(app(min, x), y)), app(app(cons, x), y))))
app(app(min, x), nil) → x
app(app(min, x), app(app(cons, y), z)) → app(app(app(if, app(app(le, x), y)), app(app(min, x), z)), app(app(min, y), z))
app(app(del, x), nil) → nil
app(app(del, x), app(app(cons, y), z)) → app(app(app(if, app(app(eq, x), y)), z), app(app(cons, y), app(app(del, x), z)))
app(app(map, f), nil) → nil
app(app(map, f), app(app(cons, x), xs)) → app(app(cons, app(f, x)), app(app(map, f), xs))
app(app(filter, f), nil) → nil
app(app(filter, f), app(app(cons, x), xs)) → app(app(app(app(filter2, app(f, x)), f), x), xs)
app(app(app(app(filter2, true), f), x), xs) → app(app(cons, x), app(app(filter, f), xs))
app(app(app(app(filter2, false), f), x), xs) → app(app(filter, f), xs)
app(app(le, 0), x0)
app(app(le, app(s, x0)), 0)
app(app(le, app(s, x0)), app(s, x1))
app(app(eq, 0), 0)
app(app(eq, 0), app(s, x0))
app(app(eq, app(s, x0)), 0)
app(app(eq, app(s, x0)), app(s, x1))
app(app(app(if, true), x0), x1)
app(app(app(if, false), x0), x1)
app(minsort, nil)
app(minsort, app(app(cons, x0), x1))
app(app(min, x0), nil)
app(app(min, x0), app(app(cons, x1), x2))
app(app(del, x0), nil)
app(app(del, x0), app(app(cons, x1), x2))
app(app(map, x0), nil)
app(app(map, x0), app(app(cons, x1), x2))
app(app(filter, x0), nil)
app(app(filter, x0), app(app(cons, x1), x2))
app(app(app(app(filter2, true), x0), x1), x2)
app(app(app(app(filter2, false), x0), x1), x2)
DEL(x, cons(y, z)) → DEL(x, z)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minsort(nil)
minsort(cons(x0, x1))
min(x0, nil)
min(x0, cons(x1, x2))
del(x0, nil)
del(x0, cons(x1, x2))
map(x0, nil)
map(x0, cons(x1, x2))
filter(x0, nil)
filter(x0, cons(x1, x2))
filter2(true, x0, x1, x2)
filter2(false, x0, x1, x2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
APP(app(del, x), app(app(cons, y), z)) → APP(app(del, x), z)
[DEL2, cons1]
DEL2: [1,2]
cons1: multiset
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
app(app(le, 0), y) → true
app(app(le, app(s, x)), 0) → false
app(app(le, app(s, x)), app(s, y)) → app(app(le, x), y)
app(app(eq, 0), 0) → true
app(app(eq, 0), app(s, y)) → false
app(app(eq, app(s, x)), 0) → false
app(app(eq, app(s, x)), app(s, y)) → app(app(eq, x), y)
app(app(app(if, true), x), y) → x
app(app(app(if, false), x), y) → y
app(minsort, nil) → nil
app(minsort, app(app(cons, x), y)) → app(app(cons, app(app(min, x), y)), app(minsort, app(app(del, app(app(min, x), y)), app(app(cons, x), y))))
app(app(min, x), nil) → x
app(app(min, x), app(app(cons, y), z)) → app(app(app(if, app(app(le, x), y)), app(app(min, x), z)), app(app(min, y), z))
app(app(del, x), nil) → nil
app(app(del, x), app(app(cons, y), z)) → app(app(app(if, app(app(eq, x), y)), z), app(app(cons, y), app(app(del, x), z)))
app(app(map, f), nil) → nil
app(app(map, f), app(app(cons, x), xs)) → app(app(cons, app(f, x)), app(app(map, f), xs))
app(app(filter, f), nil) → nil
app(app(filter, f), app(app(cons, x), xs)) → app(app(app(app(filter2, app(f, x)), f), x), xs)
app(app(app(app(filter2, true), f), x), xs) → app(app(cons, x), app(app(filter, f), xs))
app(app(app(app(filter2, false), f), x), xs) → app(app(filter, f), xs)
app(app(le, 0), x0)
app(app(le, app(s, x0)), 0)
app(app(le, app(s, x0)), app(s, x1))
app(app(eq, 0), 0)
app(app(eq, 0), app(s, x0))
app(app(eq, app(s, x0)), 0)
app(app(eq, app(s, x0)), app(s, x1))
app(app(app(if, true), x0), x1)
app(app(app(if, false), x0), x1)
app(minsort, nil)
app(minsort, app(app(cons, x0), x1))
app(app(min, x0), nil)
app(app(min, x0), app(app(cons, x1), x2))
app(app(del, x0), nil)
app(app(del, x0), app(app(cons, x1), x2))
app(app(map, x0), nil)
app(app(map, x0), app(app(cons, x1), x2))
app(app(filter, x0), nil)
app(app(filter, x0), app(app(cons, x1), x2))
app(app(app(app(filter2, true), x0), x1), x2)
app(app(app(app(filter2, false), x0), x1), x2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
APP(app(le, app(s, x)), app(s, y)) → APP(app(le, x), y)
app(app(le, 0), y) → true
app(app(le, app(s, x)), 0) → false
app(app(le, app(s, x)), app(s, y)) → app(app(le, x), y)
app(app(eq, 0), 0) → true
app(app(eq, 0), app(s, y)) → false
app(app(eq, app(s, x)), 0) → false
app(app(eq, app(s, x)), app(s, y)) → app(app(eq, x), y)
app(app(app(if, true), x), y) → x
app(app(app(if, false), x), y) → y
app(minsort, nil) → nil
app(minsort, app(app(cons, x), y)) → app(app(cons, app(app(min, x), y)), app(minsort, app(app(del, app(app(min, x), y)), app(app(cons, x), y))))
app(app(min, x), nil) → x
app(app(min, x), app(app(cons, y), z)) → app(app(app(if, app(app(le, x), y)), app(app(min, x), z)), app(app(min, y), z))
app(app(del, x), nil) → nil
app(app(del, x), app(app(cons, y), z)) → app(app(app(if, app(app(eq, x), y)), z), app(app(cons, y), app(app(del, x), z)))
app(app(map, f), nil) → nil
app(app(map, f), app(app(cons, x), xs)) → app(app(cons, app(f, x)), app(app(map, f), xs))
app(app(filter, f), nil) → nil
app(app(filter, f), app(app(cons, x), xs)) → app(app(app(app(filter2, app(f, x)), f), x), xs)
app(app(app(app(filter2, true), f), x), xs) → app(app(cons, x), app(app(filter, f), xs))
app(app(app(app(filter2, false), f), x), xs) → app(app(filter, f), xs)
app(app(le, 0), x0)
app(app(le, app(s, x0)), 0)
app(app(le, app(s, x0)), app(s, x1))
app(app(eq, 0), 0)
app(app(eq, 0), app(s, x0))
app(app(eq, app(s, x0)), 0)
app(app(eq, app(s, x0)), app(s, x1))
app(app(app(if, true), x0), x1)
app(app(app(if, false), x0), x1)
app(minsort, nil)
app(minsort, app(app(cons, x0), x1))
app(app(min, x0), nil)
app(app(min, x0), app(app(cons, x1), x2))
app(app(del, x0), nil)
app(app(del, x0), app(app(cons, x1), x2))
app(app(map, x0), nil)
app(app(map, x0), app(app(cons, x1), x2))
app(app(filter, x0), nil)
app(app(filter, x0), app(app(cons, x1), x2))
app(app(app(app(filter2, true), x0), x1), x2)
app(app(app(app(filter2, false), x0), x1), x2)
LE(s(x), s(y)) → LE(x, y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minsort(nil)
minsort(cons(x0, x1))
min(x0, nil)
min(x0, cons(x1, x2))
del(x0, nil)
del(x0, cons(x1, x2))
map(x0, nil)
map(x0, cons(x1, x2))
filter(x0, nil)
filter(x0, cons(x1, x2))
filter2(true, x0, x1, x2)
filter2(false, x0, x1, x2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
APP(app(le, app(s, x)), app(s, y)) → APP(app(le, x), y)
[LE1, s1]
LE1: multiset
s1: multiset
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
app(app(le, 0), y) → true
app(app(le, app(s, x)), 0) → false
app(app(le, app(s, x)), app(s, y)) → app(app(le, x), y)
app(app(eq, 0), 0) → true
app(app(eq, 0), app(s, y)) → false
app(app(eq, app(s, x)), 0) → false
app(app(eq, app(s, x)), app(s, y)) → app(app(eq, x), y)
app(app(app(if, true), x), y) → x
app(app(app(if, false), x), y) → y
app(minsort, nil) → nil
app(minsort, app(app(cons, x), y)) → app(app(cons, app(app(min, x), y)), app(minsort, app(app(del, app(app(min, x), y)), app(app(cons, x), y))))
app(app(min, x), nil) → x
app(app(min, x), app(app(cons, y), z)) → app(app(app(if, app(app(le, x), y)), app(app(min, x), z)), app(app(min, y), z))
app(app(del, x), nil) → nil
app(app(del, x), app(app(cons, y), z)) → app(app(app(if, app(app(eq, x), y)), z), app(app(cons, y), app(app(del, x), z)))
app(app(map, f), nil) → nil
app(app(map, f), app(app(cons, x), xs)) → app(app(cons, app(f, x)), app(app(map, f), xs))
app(app(filter, f), nil) → nil
app(app(filter, f), app(app(cons, x), xs)) → app(app(app(app(filter2, app(f, x)), f), x), xs)
app(app(app(app(filter2, true), f), x), xs) → app(app(cons, x), app(app(filter, f), xs))
app(app(app(app(filter2, false), f), x), xs) → app(app(filter, f), xs)
app(app(le, 0), x0)
app(app(le, app(s, x0)), 0)
app(app(le, app(s, x0)), app(s, x1))
app(app(eq, 0), 0)
app(app(eq, 0), app(s, x0))
app(app(eq, app(s, x0)), 0)
app(app(eq, app(s, x0)), app(s, x1))
app(app(app(if, true), x0), x1)
app(app(app(if, false), x0), x1)
app(minsort, nil)
app(minsort, app(app(cons, x0), x1))
app(app(min, x0), nil)
app(app(min, x0), app(app(cons, x1), x2))
app(app(del, x0), nil)
app(app(del, x0), app(app(cons, x1), x2))
app(app(map, x0), nil)
app(app(map, x0), app(app(cons, x1), x2))
app(app(filter, x0), nil)
app(app(filter, x0), app(app(cons, x1), x2))
app(app(app(app(filter2, true), x0), x1), x2)
app(app(app(app(filter2, false), x0), x1), x2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
APP(app(min, x), app(app(cons, y), z)) → APP(app(min, x), z)
APP(app(min, x), app(app(cons, y), z)) → APP(app(min, y), z)
app(app(le, 0), y) → true
app(app(le, app(s, x)), 0) → false
app(app(le, app(s, x)), app(s, y)) → app(app(le, x), y)
app(app(eq, 0), 0) → true
app(app(eq, 0), app(s, y)) → false
app(app(eq, app(s, x)), 0) → false
app(app(eq, app(s, x)), app(s, y)) → app(app(eq, x), y)
app(app(app(if, true), x), y) → x
app(app(app(if, false), x), y) → y
app(minsort, nil) → nil
app(minsort, app(app(cons, x), y)) → app(app(cons, app(app(min, x), y)), app(minsort, app(app(del, app(app(min, x), y)), app(app(cons, x), y))))
app(app(min, x), nil) → x
app(app(min, x), app(app(cons, y), z)) → app(app(app(if, app(app(le, x), y)), app(app(min, x), z)), app(app(min, y), z))
app(app(del, x), nil) → nil
app(app(del, x), app(app(cons, y), z)) → app(app(app(if, app(app(eq, x), y)), z), app(app(cons, y), app(app(del, x), z)))
app(app(map, f), nil) → nil
app(app(map, f), app(app(cons, x), xs)) → app(app(cons, app(f, x)), app(app(map, f), xs))
app(app(filter, f), nil) → nil
app(app(filter, f), app(app(cons, x), xs)) → app(app(app(app(filter2, app(f, x)), f), x), xs)
app(app(app(app(filter2, true), f), x), xs) → app(app(cons, x), app(app(filter, f), xs))
app(app(app(app(filter2, false), f), x), xs) → app(app(filter, f), xs)
app(app(le, 0), x0)
app(app(le, app(s, x0)), 0)
app(app(le, app(s, x0)), app(s, x1))
app(app(eq, 0), 0)
app(app(eq, 0), app(s, x0))
app(app(eq, app(s, x0)), 0)
app(app(eq, app(s, x0)), app(s, x1))
app(app(app(if, true), x0), x1)
app(app(app(if, false), x0), x1)
app(minsort, nil)
app(minsort, app(app(cons, x0), x1))
app(app(min, x0), nil)
app(app(min, x0), app(app(cons, x1), x2))
app(app(del, x0), nil)
app(app(del, x0), app(app(cons, x1), x2))
app(app(map, x0), nil)
app(app(map, x0), app(app(cons, x1), x2))
app(app(filter, x0), nil)
app(app(filter, x0), app(app(cons, x1), x2))
app(app(app(app(filter2, true), x0), x1), x2)
app(app(app(app(filter2, false), x0), x1), x2)
MIN(x, cons(y, z)) → MIN(x, z)
MIN(x, cons(y, z)) → MIN(y, z)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minsort(nil)
minsort(cons(x0, x1))
min(x0, nil)
min(x0, cons(x1, x2))
del(x0, nil)
del(x0, cons(x1, x2))
map(x0, nil)
map(x0, cons(x1, x2))
filter(x0, nil)
filter(x0, cons(x1, x2))
filter2(true, x0, x1, x2)
filter2(false, x0, x1, x2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
APP(app(min, x), app(app(cons, y), z)) → APP(app(min, x), z)
APP(app(min, x), app(app(cons, y), z)) → APP(app(min, y), z)
trivial
cons1: multiset
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
app(app(le, 0), y) → true
app(app(le, app(s, x)), 0) → false
app(app(le, app(s, x)), app(s, y)) → app(app(le, x), y)
app(app(eq, 0), 0) → true
app(app(eq, 0), app(s, y)) → false
app(app(eq, app(s, x)), 0) → false
app(app(eq, app(s, x)), app(s, y)) → app(app(eq, x), y)
app(app(app(if, true), x), y) → x
app(app(app(if, false), x), y) → y
app(minsort, nil) → nil
app(minsort, app(app(cons, x), y)) → app(app(cons, app(app(min, x), y)), app(minsort, app(app(del, app(app(min, x), y)), app(app(cons, x), y))))
app(app(min, x), nil) → x
app(app(min, x), app(app(cons, y), z)) → app(app(app(if, app(app(le, x), y)), app(app(min, x), z)), app(app(min, y), z))
app(app(del, x), nil) → nil
app(app(del, x), app(app(cons, y), z)) → app(app(app(if, app(app(eq, x), y)), z), app(app(cons, y), app(app(del, x), z)))
app(app(map, f), nil) → nil
app(app(map, f), app(app(cons, x), xs)) → app(app(cons, app(f, x)), app(app(map, f), xs))
app(app(filter, f), nil) → nil
app(app(filter, f), app(app(cons, x), xs)) → app(app(app(app(filter2, app(f, x)), f), x), xs)
app(app(app(app(filter2, true), f), x), xs) → app(app(cons, x), app(app(filter, f), xs))
app(app(app(app(filter2, false), f), x), xs) → app(app(filter, f), xs)
app(app(le, 0), x0)
app(app(le, app(s, x0)), 0)
app(app(le, app(s, x0)), app(s, x1))
app(app(eq, 0), 0)
app(app(eq, 0), app(s, x0))
app(app(eq, app(s, x0)), 0)
app(app(eq, app(s, x0)), app(s, x1))
app(app(app(if, true), x0), x1)
app(app(app(if, false), x0), x1)
app(minsort, nil)
app(minsort, app(app(cons, x0), x1))
app(app(min, x0), nil)
app(app(min, x0), app(app(cons, x1), x2))
app(app(del, x0), nil)
app(app(del, x0), app(app(cons, x1), x2))
app(app(map, x0), nil)
app(app(map, x0), app(app(cons, x1), x2))
app(app(filter, x0), nil)
app(app(filter, x0), app(app(cons, x1), x2))
app(app(app(app(filter2, true), x0), x1), x2)
app(app(app(app(filter2, false), x0), x1), x2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
APP(minsort, app(app(cons, x), y)) → APP(minsort, app(app(del, app(app(min, x), y)), app(app(cons, x), y)))
app(app(le, 0), y) → true
app(app(le, app(s, x)), 0) → false
app(app(le, app(s, x)), app(s, y)) → app(app(le, x), y)
app(app(eq, 0), 0) → true
app(app(eq, 0), app(s, y)) → false
app(app(eq, app(s, x)), 0) → false
app(app(eq, app(s, x)), app(s, y)) → app(app(eq, x), y)
app(app(app(if, true), x), y) → x
app(app(app(if, false), x), y) → y
app(minsort, nil) → nil
app(minsort, app(app(cons, x), y)) → app(app(cons, app(app(min, x), y)), app(minsort, app(app(del, app(app(min, x), y)), app(app(cons, x), y))))
app(app(min, x), nil) → x
app(app(min, x), app(app(cons, y), z)) → app(app(app(if, app(app(le, x), y)), app(app(min, x), z)), app(app(min, y), z))
app(app(del, x), nil) → nil
app(app(del, x), app(app(cons, y), z)) → app(app(app(if, app(app(eq, x), y)), z), app(app(cons, y), app(app(del, x), z)))
app(app(map, f), nil) → nil
app(app(map, f), app(app(cons, x), xs)) → app(app(cons, app(f, x)), app(app(map, f), xs))
app(app(filter, f), nil) → nil
app(app(filter, f), app(app(cons, x), xs)) → app(app(app(app(filter2, app(f, x)), f), x), xs)
app(app(app(app(filter2, true), f), x), xs) → app(app(cons, x), app(app(filter, f), xs))
app(app(app(app(filter2, false), f), x), xs) → app(app(filter, f), xs)
app(app(le, 0), x0)
app(app(le, app(s, x0)), 0)
app(app(le, app(s, x0)), app(s, x1))
app(app(eq, 0), 0)
app(app(eq, 0), app(s, x0))
app(app(eq, app(s, x0)), 0)
app(app(eq, app(s, x0)), app(s, x1))
app(app(app(if, true), x0), x1)
app(app(app(if, false), x0), x1)
app(minsort, nil)
app(minsort, app(app(cons, x0), x1))
app(app(min, x0), nil)
app(app(min, x0), app(app(cons, x1), x2))
app(app(del, x0), nil)
app(app(del, x0), app(app(cons, x1), x2))
app(app(map, x0), nil)
app(app(map, x0), app(app(cons, x1), x2))
app(app(filter, x0), nil)
app(app(filter, x0), app(app(cons, x1), x2))
app(app(app(app(filter2, true), x0), x1), x2)
app(app(app(app(filter2, false), x0), x1), x2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
APP(app(app(app(filter2, true), f), x), xs) → APP(app(filter, f), xs)
APP(app(map, f), app(app(cons, x), xs)) → APP(f, x)
APP(app(filter, f), app(app(cons, x), xs)) → APP(app(app(app(filter2, app(f, x)), f), x), xs)
APP(app(app(app(filter2, false), f), x), xs) → APP(app(filter, f), xs)
APP(app(filter, f), app(app(cons, x), xs)) → APP(f, x)
APP(app(map, f), app(app(cons, x), xs)) → APP(app(map, f), xs)
app(app(le, 0), y) → true
app(app(le, app(s, x)), 0) → false
app(app(le, app(s, x)), app(s, y)) → app(app(le, x), y)
app(app(eq, 0), 0) → true
app(app(eq, 0), app(s, y)) → false
app(app(eq, app(s, x)), 0) → false
app(app(eq, app(s, x)), app(s, y)) → app(app(eq, x), y)
app(app(app(if, true), x), y) → x
app(app(app(if, false), x), y) → y
app(minsort, nil) → nil
app(minsort, app(app(cons, x), y)) → app(app(cons, app(app(min, x), y)), app(minsort, app(app(del, app(app(min, x), y)), app(app(cons, x), y))))
app(app(min, x), nil) → x
app(app(min, x), app(app(cons, y), z)) → app(app(app(if, app(app(le, x), y)), app(app(min, x), z)), app(app(min, y), z))
app(app(del, x), nil) → nil
app(app(del, x), app(app(cons, y), z)) → app(app(app(if, app(app(eq, x), y)), z), app(app(cons, y), app(app(del, x), z)))
app(app(map, f), nil) → nil
app(app(map, f), app(app(cons, x), xs)) → app(app(cons, app(f, x)), app(app(map, f), xs))
app(app(filter, f), nil) → nil
app(app(filter, f), app(app(cons, x), xs)) → app(app(app(app(filter2, app(f, x)), f), x), xs)
app(app(app(app(filter2, true), f), x), xs) → app(app(cons, x), app(app(filter, f), xs))
app(app(app(app(filter2, false), f), x), xs) → app(app(filter, f), xs)
app(app(le, 0), x0)
app(app(le, app(s, x0)), 0)
app(app(le, app(s, x0)), app(s, x1))
app(app(eq, 0), 0)
app(app(eq, 0), app(s, x0))
app(app(eq, app(s, x0)), 0)
app(app(eq, app(s, x0)), app(s, x1))
app(app(app(if, true), x0), x1)
app(app(app(if, false), x0), x1)
app(minsort, nil)
app(minsort, app(app(cons, x0), x1))
app(app(min, x0), nil)
app(app(min, x0), app(app(cons, x1), x2))
app(app(del, x0), nil)
app(app(del, x0), app(app(cons, x1), x2))
app(app(map, x0), nil)
app(app(map, x0), app(app(cons, x1), x2))
app(app(filter, x0), nil)
app(app(filter, x0), app(app(cons, x1), x2))
app(app(app(app(filter2, true), x0), x1), x2)
app(app(app(app(filter2, false), x0), x1), x2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
APP(app(map, f), app(app(cons, x), xs)) → APP(f, x)
APP(app(filter, f), app(app(cons, x), xs)) → APP(app(app(app(filter2, app(f, x)), f), x), xs)
APP(app(filter, f), app(app(cons, x), xs)) → APP(f, x)
APP(app(map, f), app(app(cons, x), xs)) → APP(app(map, f), xs)
Used ordering: Combined order from the following AFS and order.
APP(app(app(app(filter2, true), f), x), xs) → APP(app(filter, f), xs)
APP(app(app(app(filter2, false), f), x), xs) → APP(app(filter, f), xs)
[app2, nil] > [cons, false, min, le] > true > APP1 > del
[app2, nil] > [cons, false, min, le] > filter > filter2 > APP1 > del
[app2, nil] > [cons, false, min, le] > map > APP1 > del
[app2, nil] > [cons, false, min, le] > if > del
[app2, nil] > [cons, false, min, le] > eq > del
[app2, nil] > [cons, false, min, le] > minsort > del
0 > true > APP1 > del
s > del
APP1: multiset
map: multiset
eq: multiset
min: multiset
0: multiset
s: multiset
nil: multiset
cons: multiset
true: multiset
filter: multiset
del: multiset
false: multiset
if: multiset
app2: multiset
le: multiset
filter2: multiset
minsort: multiset
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
APP(app(app(app(filter2, true), f), x), xs) → APP(app(filter, f), xs)
APP(app(app(app(filter2, false), f), x), xs) → APP(app(filter, f), xs)
app(app(le, 0), y) → true
app(app(le, app(s, x)), 0) → false
app(app(le, app(s, x)), app(s, y)) → app(app(le, x), y)
app(app(eq, 0), 0) → true
app(app(eq, 0), app(s, y)) → false
app(app(eq, app(s, x)), 0) → false
app(app(eq, app(s, x)), app(s, y)) → app(app(eq, x), y)
app(app(app(if, true), x), y) → x
app(app(app(if, false), x), y) → y
app(minsort, nil) → nil
app(minsort, app(app(cons, x), y)) → app(app(cons, app(app(min, x), y)), app(minsort, app(app(del, app(app(min, x), y)), app(app(cons, x), y))))
app(app(min, x), nil) → x
app(app(min, x), app(app(cons, y), z)) → app(app(app(if, app(app(le, x), y)), app(app(min, x), z)), app(app(min, y), z))
app(app(del, x), nil) → nil
app(app(del, x), app(app(cons, y), z)) → app(app(app(if, app(app(eq, x), y)), z), app(app(cons, y), app(app(del, x), z)))
app(app(map, f), nil) → nil
app(app(map, f), app(app(cons, x), xs)) → app(app(cons, app(f, x)), app(app(map, f), xs))
app(app(filter, f), nil) → nil
app(app(filter, f), app(app(cons, x), xs)) → app(app(app(app(filter2, app(f, x)), f), x), xs)
app(app(app(app(filter2, true), f), x), xs) → app(app(cons, x), app(app(filter, f), xs))
app(app(app(app(filter2, false), f), x), xs) → app(app(filter, f), xs)
app(app(le, 0), x0)
app(app(le, app(s, x0)), 0)
app(app(le, app(s, x0)), app(s, x1))
app(app(eq, 0), 0)
app(app(eq, 0), app(s, x0))
app(app(eq, app(s, x0)), 0)
app(app(eq, app(s, x0)), app(s, x1))
app(app(app(if, true), x0), x1)
app(app(app(if, false), x0), x1)
app(minsort, nil)
app(minsort, app(app(cons, x0), x1))
app(app(min, x0), nil)
app(app(min, x0), app(app(cons, x1), x2))
app(app(del, x0), nil)
app(app(del, x0), app(app(cons, x1), x2))
app(app(map, x0), nil)
app(app(map, x0), app(app(cons, x1), x2))
app(app(filter, x0), nil)
app(app(filter, x0), app(app(cons, x1), x2))
app(app(app(app(filter2, true), x0), x1), x2)
app(app(app(app(filter2, false), x0), x1), x2)